package swapper.view.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
import swapper.facade.CategoriaFacade;
import swapper.facade.ProdutoFacade;

/**
 *
 * @author Valentino
 */
public class PrincipalController extends AbstractControlador {
    private CategoriaFacade categoriafacade;
    private ProdutoFacade produtofacade;
    public void setCategoriaFacade(CategoriaFacade categoriafacade)
    {
        this.categoriafacade=categoriafacade;
    }
    public void setProdutoFacade(ProdutoFacade produtofacade)
    {
        this.produtofacade = produtofacade;
    }
    @Override
    protected ModelAndView handleRequestInternal(HttpServletRequest hsr, HttpServletResponse hsr1) throws Exception {
        //Atualiza sessao
        isLogado(hsr);

        ModelAndView modelAndView = new ModelAndView("principal");
        modelAndView.addObject("logado", isLogado(hsr));
        modelAndView.addObject("pessoaSessao", getPessoaSession(hsr));

         modelAndView.addObject("categoriaMenu",categoriafacade.listAll());   
         
         Long CategoriaCodigo = null;
        try {
            CategoriaCodigo = Long.parseLong(hsr.getParameter("categoria"));
        } catch (Exception e) {
        }
        if (hsr.getParameter("pesq") != null) {
            modelAndView.addObject("produtoAll", produtofacade.findByName(hsr.getParameter("pesq")));

        } else if (CategoriaCodigo != null) {
            
            modelAndView.addObject("produtoAll", produtofacade.listByCategoria(CategoriaCodigo));

        } else {

           modelAndView.addObject("produtoAll",produtofacade.listAll());
        }
         
         
         
         
        return modelAndView;
    }
    
}
